home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 2.6 KB | 64 lines |
- 10 REM PRECISION 6: PRINT: PRINT: PRINT
- 20 PRINT "TRANSPONDER SPUR SEARCH PROGRAM": PRINT
- 25 PRINT:PRINT,"k2uyh --- modified for ibm pc --- wa2tif":PRINT
- 30 INPUT "DATE"; D$: INPUT "TITLE"; TL$: PRINT
- 40 INPUT "DIRTY L.O. CASE (Y/N)"; Q$: IF Q$="N" THEN INPUT "L.O. FREQ"; FU: LO=FU: GOTO 90
- 50 INPUT "L.O. FREQ"; LO
- 60 INPUT "FUNDEMENTAL FREQ"; FU
- 70 P=INT(LO/FU+0.5): U=LO/P: IF U<>FU THEN FU=U: PRINT "NOT FACTOR - USE FUND FREQ ="; FU
- 80 INPUT "MAX HARMONIC"; LX
- 90 INPUT "LOWER EDGE OUTPUT FREQ"; FL
- 100 INPUT "UPPER EDGE OUTPUT FREQ"; FT: FO=FL: DF=FT-FL
- 110 INPUT "NUMBER OF CRITCAL PASS BANDS"; NB
- 120 FOR K=1 TO NB: PRINT: PRINT "PASS BAND #"; K
- 130 INPUT "LOWER EDGE"; LF(K): INPUT "UPPER EDGE"; UF(K): NEXT
- 140 PG=1: PRINT
- 150 INPUT "WANT TO LIST OUTPUT BAND (Y/N)"; O$
- 160 INPUT "SPECIAL ORDER RESTRICTIONS (Y/N)"; Q$
- 170 IF Q$="N" THEN 200
- 180 INPUT "MAX ORDER FP"; NJ
- 190 INPUT "MAX ORDER SPUR"; NI: NX=NI+NJ: GOTO 210
- 200 INPUT "MAX ORDER"; NX: NI=NX: NJ=NX
- 210 REM OPTION #2, "W", 80: lPRINT, "PAGE"; PG; SPC(3); TL$
- 220 LPRINT: LPRINT : LPRINT: LPRINT:
- 230 LPRINT, "TRANSPONDER SPUR SEARCH PROGRAM"; SPC(20); D$
- 240 LPRINT: LPRINT, "CRITICAL BANDS": FOR K=1 TO NB
- 250 LPRINT, "BAND #"; K; LF(K); " - "; UF(K): NEXT: LPRINT
- 260 CR=NB+9: FOR L=1 TO LX: FP=FU*L: FG=1
- 270 FOR I=1 TO NI: FOR J=1 TO NJ: IF J+I>=NX THEN 580
- 280 F1=(FO+FP*J)/I: F2=(FP*J-FO)/I: F3=(FO-FP*J)/I
- 290 FOR K=1 TO NB
- 300 IF F1+DF/I<LF(K) THEN 390
- 310 IF F1<LF(K) THEN LE=LF(K) ELSE LE=F1
- 320 IF F1>UF(K) THEN 390
- 330 IF F1+DF/I>UF(K) THEN TE=UF(K) ELSE TE=F1+DF/I
- 340 IF FG=1 THEN GOSUB 610
- 350 IF LO=J*FP THEN LPRINT, "*";
- 360 LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
- 370 IF O$="N" THEN 390 ELSE FA=LE*I-FP*J: FB=TE*I-FP*J
- 380 LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
- 390 IF F2<LF(K) THEN 480
- 400 IF F2-DF/I<LF(K) THEN LE=LF(K) ELSE LE=F2-DF/I
- 410 IF F2-DF/I>UF(K) THEN 480
- 420 IF F2>UF(K) THEN TE=UF(K) ELSE TE=F2
- 430 IF FG=1 THEN GOSUB 610
- 440 IF LO=J*FP THEN LPRINT, "*";
- 450 LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
- 460 IF O$="N" THEN 480 ELSE FA=FP*J-TE*I: FB=FP*J-LE*I
- 470 LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
- 480 IF F3+DF/I<LF(K) THEN 570
- 490 IF F3<LF(K) THEN LE=LF(K) ELSE LE=F3
- 500 IF F3>UF(K) THEN 570
- 510 IF F3+DF/I>UF(K) THEN TE=UF(K) ELSE TE=F3+DF/I
- 520 IF FG=1 THEN GOSUB 610
- 530 IF LO=J*FP THEN LPRINT, "*";
- 540 LPRINT, TAB(1); "SPUR EDGES: LOWER"; LE; TAB(29); "UPPER"; TE; TAB(44); "ORDER"; I+J; TAB(53); "SPUR X"; I; TAB(63); "FP X"; J: CR=CR+1
- 550 IF O$="N" THEN 570 ELSE FA=LE*I+FP*J: FB=TE*I+FP*J
- 560 LPRINT, TAB(1); "OUTPUT BAND: LOWER EDGE"; FA; TAB(35); "UPPER EDGE"; FB: CR=CR+1
- 570 NEXT
- 580 NEXT: NEXT
- 590 IF CR>48 THEN PG=PG+1: LPRINT, CHR$(12), "PAGE"; PG; SPC(3); TL$: CR=600: NEXT: LPRINT, CHR$(12): END
- 600 NEXT: LPRINT, CHR$(12): END
- 610 LPRINT: LPRINT: LPRINT, "FP = FUND FREQ X"; L; "="; FP, "OUTPUT FREQ BAND"; FL; " - "; FT: LPRINT: FG=0: CR=CR+4
- 620 RETURN
-